package cn.iocoder.yudao.module.member.dal.dataobject.user;

import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import cn.iocoder.yudao.module.member.dal.dataobject.images.ImagesDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.util.List;

/**
 * 燃气户 DO
 *
 * @author 芋道源码
 */
@TableName("member_user_gas_address")
//@KeySequence("member_user_gas_address_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class MemberUserGasAddressDO extends BaseDO {

    /**
     * id
     */
    @TableId
    private Long id;
    /**
     * 对外展示或提供第三方
     */
    private String code;
    /**
     * 燃气户名称
     */
    private String crmName;
    /**
     * 姓名
     */
    private String name;
    /**
     * 身份证号
     */
    private String idNumber;
    /**
     * 营业执照编号
     * */
    private String licenseNo;
    /**
     * 联系方式
     */
    private String mobile;
    /**
     * 详细地址
     */
    private String detailAddress;
    /**
     * 楼层
     */
    private Integer floor;
    /**
     * 是否是电梯0不是1是
     */
    private Integer lift;
    /**
     * 授权联系电话
     */
    private String phone;
    /**
     * 燃气户类型0 民 1商业 2工业3商服
     */
    private Integer accountType;
    /**
     * 状态 TODO:）2024.1.4 状态机：0正常1待生效2停气3已注销4待完善
     */
    private Integer status;
    /**
     * 业务员
     */
    private Long salesmanName;
    /**
     * 经纬度 共用一个字段 逗号分割
     */
    private String lnglat;
    /**
     * 地区编码
     */
    private Long areaId;
    /**
     * 来源终端
     */
    private Integer terminal;
    /**
     * 就近门店id
     */
    private Long nearbyStoreId;
    @TableField(exist = false)
    private List<ImagesDO> imgList;
    /**
     *  门店名称
     */
    @TableField(exist = false)
    private String storeName;
    /**
     *  户主名称
     */
    @TableField(exist = false)
    private String nickName;

    @Schema(description = "积分")
    @TableField(exist = false)
    private Integer point;

    @Schema(description = "余额")
    @TableField(exist = false)
    private Integer balance;

    @TableField(exist = false)
    @Schema(description = "冻结金额")
    private Integer freezePrice;

    @TableField(exist = false)
    @Schema(description = "累计充值")
    private Integer totalRecharge;

    @Schema(description = "授权金额 单位分")
    @TableField(exist = false)
    private Integer creditAmount;
    @Schema(description = "累计支出")
    @TableField(exist = false)
    private Integer totalExpense;
    @Schema(description = "")
    @TableField(exist = false)
    private Integer userType;
    @TableField(exist = false)
    private String mark;
    @TableField(exist = false)
    private String avatar;
    @TableField(exist = false)
    private Integer isOff;
    @Schema(description = "押金用瓶数")
    @TableField(exist = false)
    private Integer depositBottleCount ;
}
